As technological advances have led to increased power and sophistication of computing devices, these devices have resulted in unprecedented access to data for the ordinary user. Antiquated physical filing systems are more and more frequently being replaced with modern databases, allowing for access and correlation of data records in ways that were previously thought impossible. For example, one technological field that is currently experiencing a revolution in this regard is in the creation of electronic medical records. Where a patient's medical history was previously located in a plurality of physical files across several medical practitioners' offices, records may now be stored electronically to coordinate data in a single location accessible to practitioners, insurance companies, and other interested parties.
However, in order to modify and edit these databases, a user must typically have some background in managing and creating relational database structures. Relatively simple tasks such as adding a column to a complex relational database may require the user to have several years of experience and training in order to preserve the database structure and schema while adding the desired functionality, and incorrect implementation may have a profound impact on the tools used to access said data (e.g., report generation software). Many customers may desire to make changes to their particular database implementation, but not desire to hire and support specially trained personal to act as their database administrators.
In response to this need, applications have been developed that serve to allow users to extend and create database objects without the need to make complex modifications to the underlying database structure. However, while these virtual structures may serve to expand on some of the base database functionality, such applications lack a deep understanding of the database structure, and thus are unable to support more complicated database objects and relationships.